#ifndef LOCKING_POLICY_H
#define LOCKING_POLICY_H

#include <boost/shared_ptr.hpp>
#include <boost/thread.hpp>
#include <boost/thread/mutex.hpp>

namespace network {
	class locking_policy {
	public:
		locking_policy() {}
		~locking_policy() {}

		void lock() const;
		void unlock() const;
	private:
		mutable boost::mutex _monitor;
		mutable boost::shared_ptr<boost::mutex::scoped_lock> _lock;
	};
}

#endif
